Page({
  /**
   * 页面的初始数据
   */
  data: {
    index: 0, // 当前选中的tab索引
    paidCourses: [], // 已支付课程列表
    unpaidCourses: [], // 未支付课程列表
    loading: false, // 加载状态
    page: 1, // 当前页码
    pageSize: 10, // 每页数量
    hasMore: true, // 是否还有更多数据
    isRefreshing: false // 是否正在下拉刷新
  },

  /**
   * 切换tab
   */
  change(e) {
    const index = e.currentTarget.dataset.syy;
    this.setData({ index });
    
    // 切换到对应tab时加载数据
    if (index === 0 && this.data.paidCourses.length === 0) {
      this.loadCourseData(true);
    } else if (index === 1 && this.data.unpaidCourses.length === 0) {
      this.loadCourseData(false);
    }
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    // 初始加载已支付课程
    this.loadCourseData(true);
  },

  /**
   * 加载课程数据
   * @param {boolean} isPaid 是否已支付
   */
  loadCourseData(isPaid) {
    if (this.data.loading || !this.data.hasMore) return;
    
    this.setData({ loading: true });
    
    wx.showLoading({
      title: '加载中...',
      mask: true
    });
    
    // 请求API获取课程数据
    wx.request({
      url: 'http://localhost:8080/user',
      method: 'GET',
      data: {
        page: this.data.page,
        pageSize: this.data.pageSize,
        status: isPaid ? 'paid' : 'unpaid' // 根据状态筛选
      },
      success: (res) => {
        if (res.statusCode === 200 && res.data.code === 200) {
          const newList = res.data.data.list || [];
          const dataKey = isPaid ? 'paidCourses' : 'unpaidCourses';
          
          this.setData({
            [dataKey]: this.data.isRefreshing ? newList : [...this.data[dataKey], ...newList],
            hasMore: newList.length >= this.data.pageSize,
            page: this.data.isRefreshing ? 2 : this.data.page + 1
          });
        } else {
          wx.showToast({
            title: res.data.message || '数据加载失败',
            icon: 'none'
          });
        }
      },
      fail: (err) => {
        wx.showToast({
          title: '网络错误，请稍后重试',
          icon: 'none'
        });
      },
      complete: () => {
        this.setData({ 
          loading: false,
          isRefreshing: false
        });
        wx.hideLoading();
        wx.stopPullDownRefresh();
      }
    });
  },

  /**
   * 去支付按钮点击事件
   */
  goToPay(e) {
    const { id } = e.currentTarget.dataset;
    wx.navigateTo({
      url: `/pages/payment/payment?courseId=${id}`
    });
  },

  /**
   * 下拉刷新
   */
  onPullDownRefresh() {
    this.setData({
      isRefreshing: true,
      page: 1,
      hasMore: true
    });
    
    // 根据当前tab刷新对应数据
    if (this.data.index === 0) {
      this.loadCourseData(true);
    } else {
      this.loadCourseData(false);
    }
  },

  /**
   * 上拉加载更多
   */
  onReachBottom() {
    if (!this.data.loading && this.data.hasMore) {
      // 根据当前tab加载更多数据
      if (this.data.index === 0) {
        this.loadCourseData(true);
      } else {
        this.loadCourseData(false);
      }
    }
  }
});